home *** CD-ROM | disk | FTP | other *** search
/ Super PC 34 / Super PC 34 (Shareware).iso / spc / SONIDO / IT105 / IT.DOC < prev    next >
Encoding:
Text File  |  1996-02-22  |  95.1 KB  |  1,882 lines

  1.  
  2.                                 Impulse Tracker
  3.  
  4.                                  User's Manual
  5.  
  6.  
  7.  
  8.  1. Introduction
  9.   1.1  What is Impulse Tracker?
  10.   1.2  About Impulse Tracker
  11.   1.3  Running Impulse Tracker
  12.  
  13.  2. Using Impulse Tracker
  14.   2.1  Playing songs
  15.   2.2  Pattern editor
  16.   2.3  Order list, channel panning & volume
  17.   2.4  Samples
  18.   2.5  Instruments
  19.   2.6  Song Variables
  20.   2.7  Hey! This program looks like Scream Tracker 3!!!
  21.   2.8  Gravis UltraSound users.
  22.  
  23.  3. Before you write to me (Important notes)
  24.  
  25.  4. For the software programmers & hardware manufacturers
  26.  
  27.  5. Closing words
  28.  
  29.  6. Legal stuff
  30.  
  31.  
  32.  1. Introduction
  33.         If you are familiar with tracker programs, then you could probably
  34.         skip through most of this document. For those of you who have had
  35.         experience with Scream Tracker 3, read section 2.7. This should
  36.         detail most of the major differences between Scream Tracker 3 and
  37.         Impulse Tracker. For those of you who are unfamiliar with tracker
  38.         programs it would probably be best to print out this document, and
  39.         then refer to it as you work with the program.
  40.  
  41.         Check out the file UPDATE.DOC. If this document contains conflicting
  42.         information with what's listed in UPDATE.DOC, then follow what
  43.         UPDATE.DOC contains, as I may have forgotten to update this text.
  44.  
  45.   1.1  What is Impulse Tracker?
  46.         Impulse Tracker is a program used to create high quality music
  47.         without the requirements of specialised, expensive equipment. The
  48.         hardware requirements should be easily met: Any IBM 386+ compatible
  49.         computer (although a 486+ is recommended), and a VGA or higher video
  50.         card. If you want to hear sound, you'll need a Sound Blaster, Sound
  51.         Blaster Pro, Sound Blaster 16, or Gravis Ultrasound. If you want to
  52.         hear noise, then you won't need any of these (there's a PC Speaker
  53.         routine... it's not too bad, but very slow and definitely not
  54.         recommended!).
  55.  
  56.         Note that stereo effects (including surround sound) can only be
  57.         experienced on the Sound Blaster Pro, and Sound Blaster 16 cards.
  58.         The Gravis UltraSound is capable of panning, but not surround sound.
  59.         (Well, not with the way I'm using the card)
  60.  
  61.         You'll need about 500k of conventional memory to get the program
  62.         running - about 600k to have it load almost any song (as long as you
  63.         have an EMM driver - samples are stored in EMS when possible, otherwise
  64.         the songs that you are able to load will be limited even further!)
  65.  
  66.         Impulse Tracker supports direct control over 64 channels, and can
  67.         load and play the following formats: S3M, MTM, MOD and of course,
  68.         IT. At the moment, modules can only be saved in the IT and S3M
  69.         formats.
  70.  
  71.         The Gravis UltraSound can only play 32 channels, although this
  72.         shouldn't be too much of a limitation. Note that if you put notes
  73.         in channels 33->64 in sample mode using a Gravis, you WILL NOT hear
  74.         these notes! (There's an explanation of sample mode much later on,
  75.         just keep it in mind if you own a Gravis UltraSound - it shouldn't
  76.         cause any problems.)
  77.  
  78.  
  79.   1.2  About Impulse Tracker.
  80.         Impulse Tracker began simply as an extension to Scream Tracker 3
  81.         (which should be quite obvious to Scream Tracker 3 users, due to
  82.         the interface.) At first, I only intended a couple of extra
  83.         features (eg. proper panning and a couple of other interesting
  84.         functions), but with the release of Fast Tracker 2, it became obvious
  85.         that there were many areas in which Scream Tracker could be improved.
  86.         In spite of all the limitations of Scream Tracker 3 (in comparison
  87.         to Fast Tracker 2, which offered Volume/Panning Envelopes, 16-bit
  88.         samples, Samples > 64k, an in built sampler, proper stereo panning
  89.         on SB16, etc. etc), there were still more .S3M releases than there
  90.         were .XM releases! And the reason must have been within the way
  91.         you WRITE music with Scream Tracker 3. That's why I've used the same
  92.         simple and QUICK interface that Scream Tracker 3 offered. And I've
  93.         tried to provide some of the power of Fast Tracker 2 - Read about the
  94.         power that you can have with the use of instruments in section 2.5
  95.  
  96.         The Tracker was written in 100% Assembler. All the routines are of
  97.         my own coding (That's why some of them suck so much :) ).
  98.         The program was written on and off during 1995, but most of the
  99.         work was completed in the 8 weeks following my exams at uni. The
  100.         source code is almost 70,000 lines long and occupies over 2.1MB. The
  101.         Tracker runs entirely in text mode (!) with some neat remapping of
  102.         characters (that's why I haven't been able to use colours to help
  103.         in some places ie. the volume envelope nodes a different colour
  104.         would have been easier to use!).
  105.  
  106.   1.3  Running Impulse Tracker.
  107.         Most users should not require any command line switches, however
  108.         the following are available:
  109.  
  110.           S#      Set sound card
  111.                    S0 = No sound card (silent mode)
  112.                    S1 = Sound Blaster
  113.                    S2 = Sound Blaster Pro
  114.                    S3 = Sound Blaster 16
  115.                    S4 = Gravis UltraSound
  116.                    S5 = PC Speaker
  117.  
  118.                   If this parameter is omitted, then a (hardware) detection
  119.                   routine is used. The order in which the cards are tested is:
  120.  
  121.                   1) Sound Blaster 16
  122.                   2) Gravis UltraSound
  123.                   3) Sound Blaster Pro
  124.                   4) Sound Blaster
  125.                   5) PC Speaker (assumed, no detection)
  126.  
  127.                   Why Sound Blaster 16 first? Well, it's because it can support
  128.                   64 channels at 45454Hz mixing speed (depending on your
  129.                   processor). The most the GUS can support is 32 channels
  130.                   at 19kHz mixing speed. Shame, since it's such a powerful
  131.                   card on all other aspects. I hope that the GUS PnP has fixed
  132.                   this!
  133.  
  134.           Axxx    Set Base Address of sound card (hex)
  135.           D#      Set DMA of sound card (decimal)
  136.           I##     Set IRQ of sound card (decimal)
  137.  
  138.                   You WILL need to specify the IRQ of a SB (or compat) card
  139.                   if it is NOT one of the following: 10, 7, 5, 3 or 2
  140.  
  141.           M#####  Set Mixspeed. Values are accepted between 0->65535,
  142.                   however, the soundcards have hardware limits which will
  143.                   override the command line switch:
  144.                      Sound Blaster: 12000->21739
  145.                      Sound Blaster Pro: 12000->43478 mono, 6000->21739 stereo
  146.                      Sound Blaster 16:  12000->45454 stereo and mono
  147.  
  148.                   The PC Speaker routines use a fixed mixspeed of 18kHz.
  149.                   The Gravis UltraSound's mixing speed is dependent on the
  150.                    channel limit - the fewer the channels, the greater the
  151.                    quality.
  152.  
  153.           L###    Limit number of active channels
  154.  
  155.                   When you limit the number of channels, you are limiting the
  156.                   number of notes that you can hear on playback. In a "Sample"
  157.                   controlled song (explained later), the result is that if you
  158.                   play a 16 channel piece with the limit at 4 channels, then
  159.                   you will lose the last 12 channels! Even if the first 4
  160.                   are not playing anything. In an instrument controlled song,
  161.                   the result is that you will hear 4 notes at most, which can
  162.                   be controlled from any of the 64 channels, excess notes will
  163.                   be lost. (The reason for this is within the channel
  164.                   allocation routines.)
  165.  
  166.                   Note that the Gravis UltraSound cannot play more than 32
  167.                   channels. If you limit the number of channels to a lower
  168.                   value, the quality of the output will increase. (This is
  169.                   due to the nature of the card - all the sound processing
  170.                   is done BY the card, so you could have 32 channels on
  171.                   any processor).
  172.  
  173.                   If you are new to tracking and didn't understand what I was
  174.                   just talking about, hilight this section with a marker
  175.                   (you've printed this out, right?), and in your dabblings,
  176.                   if you notice that some notes aren't being played, reread
  177.                   this section. It should make sense by then, and the reason
  178.                   hopefully lies in the above paragraphs.
  179.  
  180.           V       Override VGA detection routine.. in case you DO have a
  181.                   VGA and the program doesn't recognise it.
  182.  
  183.           R       Reverse stereo channels.
  184.                   This is only really useful on the SB16. (Swaps left/right
  185.                   outputs). The Sound Blaster Pro stereo setting routines
  186.                   aren't accurate, and will sometimes set the left to left
  187.                   and right to right (how it's supposed to be), and
  188.                   sometimes set the left to right and right to left (how
  189.                   it's not supposed to be :) ).
  190.  
  191.           C       Control playback in DOS Shell.
  192.                   When this option is on, the following keys will operate
  193.                   within the DOS Shell:
  194.  
  195.                    Right-Alt:   Stop playback
  196.                    Right-Ctrl:  Play song (if not already playing)
  197.                    Grey Plus:   Increase global volume
  198.                    Grey Minus:  Decrease global volume
  199.  
  200.                   Warning: There are problems on some computers with this
  201.                            enabled! If your keboard locks up, it may be
  202.                            necessary to press the left ctrl/alt to "unfreeze"
  203.                            it... sometimes (other times.. I don't know!)
  204.  
  205.          F        Disable file colour distinctions.
  206.                   When this is on, all file colours will appear the same as
  207.                   the background colour. This is just to make it easier to
  208.                   redo the palette to your liking more easily.
  209.  
  210.  2. Using Impulse Tracker
  211.         Before any specific details of how to use the tracker, it may be
  212.         worth knowing these few "editing" keys:
  213.  
  214.       When using Thumbbars.
  215.        Pressing Left and Right arrows will shift the values left/right
  216.        Holding down Ctrl while pressing left/right will move them quicker
  217.        And Shift-Left/Right will move them even quicker....
  218.        But just typing in a number will get you directly to the desired point!
  219.  
  220.       String (text) entry.
  221.        Nothing special here (and the routines need to be rewritten), but
  222.        pressing Ctrl-Backspace will clear the entire text..
  223.  
  224.       Numerical entries (of the 7 digit or 3 digit variety)
  225.        Pressing '+' or '-' will increase/decrease the value by 1. This is
  226.        especially useful when modifying loop values.
  227.  
  228.   2.1  Playing songs
  229.         If you are like most of us, you would have run the program first,
  230.         and probably figured out how to do this yourself. Songs are simply
  231.         loaded by pressing F9 at any time (to invoke the file load menu)
  232.         and then selecting a song by pressing Enter. You can also type the
  233.         first few characters of a filename, and a "search" will be made for
  234.         the first match.
  235.  
  236.         Note that on all the file menus in Impulse Tracker, you can also
  237.         delete files by pressing Delete.
  238.  
  239.         After loading a song, use F5 to play it and F8 to stop. The Info
  240.         Page should appear, and you can cycle through views using
  241.         PgUp/PgDn. Separate view windows can be created by pressing Insert
  242.         (and removed by pressing delete) and these separate windows can
  243.         each have a different view method.
  244.  
  245.         Details (ranges follow in brackets):
  246.          Frequency - the speed (pitch) at which the sample is played in
  247.                      bytes per second
  248.          Position  - the offset in a sample
  249.          Smp       - The sample currently being played (1->99)
  250.          FVl       - The final volume of the sample, taking into account
  251.                      all the scaling factors (viz global volume, sample vol,
  252.                      envelope volume, channel volume and fadeout) (0->128)
  253.          CV        - Channel volume (0->64)
  254.          SV        - Sample volume (0->64)
  255.          EV        - Envelope volume (0->64)
  256.          EPs       - Envelope position (0->200)
  257.          Fde       - Fadeout component (from 0->512)
  258.          Pn        - Panning (Su = surround)
  259.          NNA       - The current NNA (Cut/Con/Off/Fde)
  260.          Tot       - The total number of active virtual channels 'owned' by
  261.                      the channel
  262.  
  263.         If you're looking for some songs to play, check out the following
  264.         places:
  265.          ftp.cdrom.com/pub/demos/music [huge collection!]
  266.           for .IT files, go to ftp.cdrom.com/pub/demos/music/songs/1996/it
  267.  
  268.         Let me know of any other good music module distribution sites, so
  269.         that I can include them here!
  270.  
  271.   2.2  Pattern editor (F2)
  272.         The pattern editor allows you to edit patterns. For those of you
  273.         who are familiar with music, patterns can be thought of as "bars",
  274.         and the order in which these "bars" are played is determined by
  275.         order list. For those of you who are not familiar with music,
  276.         consider patterns as a collection of notes. Impulse Tracker
  277.         supports up to 200 different patterns - it *IS* quite a lot more
  278.         than it may initially sound!
  279.  
  280.         Each pattern can range in length between 32 and 200 rows. You can
  281.         change this value by using the "Pattern Editor Configuration" screen by
  282.         pressing F2 when alredy in the Pattern Editor. The other options
  283.         available are the base octave (explained later), the skip value (also
  284.         explained later), the row hilight major and minor (which determines
  285.         the distance between the emphasized rows) and the command/commandvalue
  286.         link/split option, which determines whether when editing, the cursor
  287.         should move downwards when entering an effect, or across to the
  288.         effect value columns.
  289.  
  290.         The pattern editor appears normally as 5 'channel' columns as such:
  291.  
  292.         ┌─────────────┬─────────────┬─────────────┬─────────────┬─────────────┐
  293.         │C-5 01 23 A02│E-5 02 64 D01│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│
  294.         │∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│
  295.         │∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│
  296.         │∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│
  297.         │∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│
  298.         │∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│∙∙∙ ∙∙ ∙∙ .00│
  299.                         ^   ^  ^  ^
  300.      Component Columns: 1   2  3  4
  301.  
  302.         What the component columns mean:
  303.          1) The first column contains the note and octave of the note.
  304.             Notes are entered by using the keyboard as such:
  305.  
  306.     (Note)         C# D#    F# G# A#    C# D#    F# G# A#    C# D#
  307.                 │ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │
  308.                 │ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │ │ ││ ││ │ │ │ ││ │ │
  309.     (What you   │ │S││D│ │ │G││H││J│ │ │2││3│ │ │5││6││7│ │ │9││0│ │
  310.      type)      │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │ └┬┘└┬┘└┬┘ │ └┬┘└┬┘ │
  311.                 │ Z│ X│ C│ V│ B│ N│ M│ Q│ W│ E│ R│ T│ Y│ U│ I│ O│ P│
  312.                 └──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┴──┘
  313.     (Note)        C  D  E  F  G  A  B  C  D  E  F  G  A  B  C  D  E
  314.                  (Octave 0)           (Octave 1)           (Octave 2)
  315.  
  316.             The octave of the note is determined by adding the BaseOctave
  317.             to the Octave of the note played. The BaseOctave can be
  318.             adjusted by pressing the Grey keys '/' or '*'.
  319.  
  320.             The range of notes is from C-0 to B-9. The 'middle' note is
  321.             considered as C-5
  322.  
  323.             Pressing '1' on the note column will enter a notecut command.
  324.             This causes any note in the column to immediately stop.
  325.  
  326.             Pressing '`' (the note below ESC) on the note colume will enter a
  327.             noteoff command. This causes all sustain points to be released
  328.             (Explained in samples and instruments in more detail.)
  329.  
  330.             At the bottom of the channel is an 'edit mask'. This highlights
  331.             what will be affected when you type anything in. Note that
  332.             typing a note in can affect more than just a note - normally
  333.             it's set to enter an instrument and volume with it! You can easily
  334.             tell IT to enter an effect with it also by changing the
  335.             channel mask with ',' (comma) on columns 2, 3 and 4.
  336.  
  337.                 Examples of interpretation:
  338.  
  339.                 │C-4 01 ∙∙ .∙∙│ - will play note C octave 4, instrument 1
  340.                 │D-4 ∙∙ ∙∙ .∙∙│ - will play note D, octave 4, instrument 1
  341.                 │∙∙∙ 02 ∙∙ .∙∙│ - Will play note D, octave 4, instrument 2
  342.                 │E-4 ∙∙ ∙∙ .∙∙│ - will play note E, octave 4, instrument 2
  343.                 │G-6 12 ∙∙ .∙∙│ - will play note G, octave 6, instrument 12
  344.  
  345.          2) The second column contains the sample/instrument, depending on
  346.             whether the tracker is operating in sample mode, or instrument
  347.             mode. Valid ranges are from 01->99 (decimal).
  348.  
  349.          3) The third column contains the volume or panning of the note.
  350.             To toggle between entry of volumes and panning, press '`'
  351.  
  352.             Volumes.
  353.             0 is the softest (ie. nothing) and 64 (decimal!) is the loudest.
  354.             If no volume is specified, then the default volume for the sample
  355.             is used. (Note that effects *CANNOT* raise the volume above 64)
  356.  
  357.             The volume scale works linearly - ie. one note played at a
  358.             volume of 64 will be the same 'loudness' as 4 of the same note,
  359.             one played at a volume of 10, another at a volume of 30,
  360.             another at a volume of 20 and another at a volume of 4.
  361.              (10+30+20+4 = 64)
  362.             But if you have a choice... always go for the single note (it
  363.             will require less processing, and also sound better in quality,
  364.             due to roundings that occur in processing softer volumes)
  365.  
  366.             Panning.
  367.             Panning controls appear in a different colour to the volume
  368.             controls. For panning in this column, 0 represents far left, and
  369.             64 represents far right. If you have an Xxx effect at the same
  370.             time, the Xxx will take precedence over this column.
  371.  
  372.             It is more efficient filesize-wise to use a panning control in
  373.             this column rather than in the effect column.
  374.  
  375.             Volume, Panning & Effect??
  376.             OK. So you want to do something tricky. Well, it's possible to
  377.             get all 3 of these how you want with a little meddling with
  378.             the channel volume control - just place one before the row with
  379.             an appropriate value (remember that the range is 0->40 HEX) such
  380.             that the channel volume scales the default volume to the desired
  381.             value.... What I mean is that if you want to play a note at volume
  382.             32, pan 48, with vibrato H81, then you can do the following:
  383.  
  384.                 │∙∙∙ ∙∙ ∙∙ M20│ - Set channel volume to HALF.
  385.                 │C-4 01 48 H81│ - The 48 is a pan command - this assumes that
  386.                                   the default volume for sample/instrument 1
  387.                                   is 64.
  388.  
  389.          4) The final column contains effect data. For those of you who are
  390.             just starting, I would advise you to leave this section until
  391.             later, when you have already dabbled with entering notes, and
  392.             want some special features. It's easy to get caught up with all
  393.             these special features and you can 'overdo' the effects.
  394.             And it will sound absolutely pathetic. Trust me, I know -
  395.             I've done it :)
  396.  
  397.             Effects are entered by typing 'a'-'z', then a hex value
  398.             (see later for an explanation of hex numbers) as the final two
  399.             entries. The effects allow you to a wide variety of functions
  400.             that are otherwise impossible to obtain.
  401.  
  402.             Due to the repetitive nature of some effects, there is a
  403.             'memory' so that instead of typing:
  404.  
  405.                 ∙∙∙ ∙∙ ∙∙ G12     It is easier to   ∙∙∙ ∙∙ ∙∙ G12
  406.                 ∙∙∙ ∙∙ ∙∙ G12     use:              ∙∙∙ ∙∙ ∙∙ G00
  407.                 ∙∙∙ ∙∙ ∙∙ G12                       ∙∙∙ ∙∙ ∙∙ G00
  408.                 ∙∙∙ ∙∙ ∙∙ G12                       ∙∙∙ ∙∙ ∙∙ G00
  409.                 ∙∙∙ ∙∙ ∙∙ G12                       ∙∙∙ ∙∙ ∙∙ G00
  410.                 ∙∙∙ ∙∙ ∙∙ G12                       ∙∙∙ ∙∙ ∙∙ G00
  411.                 ∙∙∙ ∙∙ ∙∙ G12                       ∙∙∙ ∙∙ ∙∙ G00
  412.  
  413.            The following effects 'memorise' their previous values:
  414.             (D/K/L), (E/F/G), H, I, J, N, O, S, U, W
  415.  
  416.            Note: Bracketed commands share the same 'memory' value. So
  417.  
  418.                 ∙∙∙ ∙∙ ∙∙ E12   can be written as:  ∙∙∙ ∙∙ ∙∙ E12
  419.                 ∙∙∙ ∙∙ ∙∙ F12                       ∙∙∙ ∙∙ ∙∙ F00
  420.                 ∙∙∙ ∙∙ ∙∙ E12                       ∙∙∙ ∙∙ ∙∙ E00
  421.                 ∙∙∙ ∙∙ ∙∙ F12                       ∙∙∙ ∙∙ ∙∙ F00
  422.                 C-4 01 ∙∙ G12                       C-4 01 ∙∙ G00
  423.  
  424.                 Commands H and U are linked even more closely.
  425.                 If you use H00 or U00, then the previous vibrato, no matter
  426.                 whether it was set with Hxx or Uxx will be used. So:
  427.  
  428.                 ∙∙∙ ∙∙ ∙∙ H81    Is the same as:    ∙∙∙ ∙∙ ∙∙ H81
  429.                 ∙∙∙ ∙∙ ∙∙ U00                       ∙∙∙ ∙∙ ∙∙ H81
  430.                 ∙∙∙ ∙∙ ∙∙ U83                       ∙∙∙ ∙∙ ∙∙ U83
  431.                 ∙∙∙ ∙∙ ∙∙ U00                       ∙∙∙ ∙∙ ∙∙ U83
  432.                 ∙∙∙ ∙∙ ∙∙ H00                       ∙∙∙ ∙∙ ∙∙ U83
  433.  
  434.             Hex Numbers
  435.                 Instead of using a decimal system (ie. base 10), it is more
  436.                 natural for the computer to work with hexadecimal (often
  437.                 abbreviated to simply 'Hex') - numbers which operate in base
  438.                 16. The first 9 numbers in hex are denoted by '1' to '9' and
  439.                 the next 6 are denoted by 'A' to 'F'. So if you count in hex,
  440.                 it will be as follows: (0), 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B,
  441.                 C, D, E, F, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 1A, 1B,
  442.                 1C, 1D, 1E, 1F, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 2A etc.
  443.  
  444.                 To convert a hex number to decimal, multiply the 'tens' column
  445.                 by 16 and add the value of the second column. ie. 32 Hex =
  446.                 3*16+2 = 50 decimal. 2A hex = 2*16+10 = 42. (because A = 10)
  447.                 The maximum number that you can represent with two Hex digits
  448.                 is FF = 255 decimal.
  449.  
  450.                 Hope that this makes SOME sense :)
  451.  
  452.         Effects.
  453.  
  454.           Axx   Set Speed.
  455.  
  456.                 I prefer to think of this command as "Set Frames per Row".
  457.                 Normally, the tracker operates at around 50 frames a
  458.                 second. If the rows were played at this speed, then a huge
  459.                 amount of space would be required to enter the pattern data.
  460.                 Instead, setting the 'speed' of the song will cause the
  461.                 tracker to wait on the current row for 'xx' frames. Hence,
  462.                 setting the speed at 50 (decimal = 32hex) will cause each
  463.                 row to last about a second - quite a long time! The default
  464.                 is A06. The initial speed can be set in the variables
  465.                 screen on F12.
  466.  
  467.                 If two Axx commands are given in the same row, then the
  468.                 command in the higher channel (by number) will take effect.
  469.  
  470.           Bxx   Jump to order.
  471.  
  472.                   Causes the song to jump to order xx (hex). This is often
  473.                   used to create looping songs.
  474.  
  475.                   If two Bxx commands are given, then the command in the
  476.                   higher channel will take effect.
  477.  
  478.           Cxx   Break to row.
  479.  
  480.                   The Command Cxx signifies the end of the current pattern,
  481.                   and also that the next pattern should be played from row
  482.                   xx (hex)
  483.  
  484.                   If two Cxx commands are given... you know :)
  485.  
  486.           D0x   Volume slide down
  487.  
  488.                   The volume slide down command causes the volume of the
  489.                   note to be reduced by x for each frame after (for that
  490.                   row). ie. If you have a note at volume 64, with command
  491.                   D01 and speed A06, then the final volume will be 64-5=59.
  492.                   A note at volume 32 with command D02 at speed A05 will
  493.                   result in a volume of 24.
  494.  
  495.                   For greater S3M compatibility, D0F will cause the volume
  496.                   to drop by 15 EVERY frame, instead of just off-note frames.
  497.  
  498.           Dx0   Volume slide up.
  499.  
  500.                   Operates exactly the same way as D0x, but slides the
  501.                   volume up by 'x'. Volumes cannot exceed 64 (checked
  502.                   and limited internally).
  503.  
  504.                   For greater S3M compatibility, DF0 will cause the volume
  505.                   to rise by 15 EVERY frame, instead of just off-note frames.
  506.  
  507.           DFx   Fine volume slide down.
  508.  
  509.                   Takes the volume down by x at the start of the row.
  510.  
  511.           DxF   Fine volume slide up.
  512.  
  513.                   Takes the volume up by x at the start of the row.
  514.  
  515.           Exx   Pitch slide down
  516.  
  517.                   The pitch will slide down with speed xx (hex). In linear
  518.                   frequency mode, a pitch slide down by a particular value
  519.                   will always cause the same "pitch interval" - this does
  520.                   not occur in Amiga frequency mode. Valid ranges for xx
  521.                   are between 0 and 0DFh (as > 0E0h will be interpreted as
  522.                   fine slides)
  523.  
  524.           EFx   Fine pitch slide down
  525.  
  526.                   Slides the pitch down by x at the start of the row.
  527.  
  528.           EEx   Extra fine pitch slide down
  529.  
  530.                   Same as EFx, but 4 times finer. (ie. EE4 is equivalent to
  531.                   EF1)
  532.  
  533.           Fxx   Pitch Slide up
  534.           FFx   Fine Pitch slide up
  535.           FEx   Extra fine pitch slide up
  536.  
  537.                   Operates in the same manner as the Exx commands, but
  538.                   slides the pitch up. If the pitch gets 'too high', then
  539.                   the channel is turned off.
  540.  
  541.           Gxx   Portamento to note.
  542.  
  543.                   This command requires 2 parameters: A note to slide to
  544.                   and a speed. Example:
  545.  
  546.                         C-4 01 ∙∙ .00
  547.                         G-4 01 ∙∙ G08
  548.                         ∙∙∙ ∙∙ ∙∙ G00
  549.                         ∙∙∙ ∙∙ ∙∙ G00
  550.  
  551.                   This will cause the note C-4 to slide to G-4 with speed 8.
  552.  
  553.                   You *CAN* change the sample that the note is sliding to.
  554.                   It is a good idea to make sure that the frequency of the
  555.                   samples is similar, if you want to try this! The new sample
  556.                   will play from it's beginning.
  557.  
  558.           Hxy   Vibrato with speed x, depth y
  559.  
  560.                   Causes the frequency to osciallte with depth 'y' at speed
  561.                   'x' which causes an interesting effect. Don't get carried
  562.                   away with it though!
  563.  
  564.           Ixy   Tremor with ontime x, offtime y.
  565.  
  566.                   Causes the volume of the instrument to remain normal for
  567.                   x frames, then sets the volume to 0 for y frames.
  568.  
  569.           Jxy   Arpeggio with halftones x, y.
  570.  
  571.                   This causes the note to quickly cycle through three notes -
  572.                   the note playing, a note x halftones above, and a note y
  573.                   halftones above. This causes an effect similar to old
  574.                   C-64 chords.
  575.  
  576.                   Example: C-4 01 ∙∙ J47 will cause the notes C-4, E-4 and
  577.                   G-4 to be cycled.
  578.  
  579.           Kxx   Dual command: Vibrato + Dxx (Volume slide)
  580.  
  581.                   Note: The vibrato could have been set with either Hxx or
  582.                         Uxx
  583.  
  584.           Lxx   Dual Command: G00 + Dxx (Portamento to and Volume slide)
  585.  
  586.           Mxx   Set channel volume
  587.  
  588.                   Each channel has a volume range from 0->40h. The lower
  589.                   the value, the softer the notes in the channel. This
  590.                   command is convenient for making 'echoes'... you won't have
  591.                   to modify the echoing channel from the original, except
  592.                   for placing a M20 at the top of it!
  593.  
  594.                   Values greater than 40h are ignored at playtime.
  595.  
  596.           N0x, Nx0, NFx, NxF  Slide channel volume commands
  597.  
  598.                   These commands work in the same manner as the slide
  599.                   volume commands, but operate on the channel volume,
  600.                   rather than directly on the note volume.
  601.  
  602.           Oxx   Set sample offset.
  603.  
  604.                   This will cause a sample to be played from offset xx00h.
  605.                   This is useful to skip past the first part of a sample
  606.                   which may have a loud hit, or to start a speech sample
  607.                   half way through.
  608.  
  609.                   If you specify a value PAST the end of a sample, then the
  610.                   command is ignored.
  611.  
  612.                   Note to programmers: Oxx for 16-bit samples will move
  613.                   to the xx00h*2 position in the sample - ie. the 'xx00th'
  614.                   sample.
  615.  
  616.           P0x, Px0, PFx, PxF  Slide panning commands.
  617.  
  618.                   These work in the same maner as the slide volume
  619.                   commands, but operate on the channel panning. P0x slides
  620.                   the panning right, while Px0 slides the panning left.
  621.  
  622.           Qxy   Retriggers a note after y frames with volume modifier x.
  623.  
  624.                   This will cause a sample to be replayed from it's
  625.                   beginning after every y frames. 'x' can be any of the
  626.                   following:
  627.  
  628.                         Value           Effect on volume each retrig.
  629.                          0                No change
  630.                          1                  -1
  631.                          2                  -2
  632.                          3                  -4
  633.                          4                  -8
  634.                          5                  -16
  635.                          6                  *2/3
  636.                          7                  *1/2
  637.                          8                No change
  638.                          9                  +1
  639.                          A                  +2
  640.                          B                  +4
  641.                          C                  +8
  642.                          D                  +16
  643.                          E                  *3/2
  644.                          F                  *2
  645.  
  646.           Rxy   Tremelo with speed x, depth y
  647.  
  648.                   This command acts similarly to the vibrato command, but
  649.                   affects the note volume, instead of the pitch.
  650.  
  651.           S3x   Sets vibrato waveform to x
  652.           S4x   Sets tremelo waveform to x
  653.           S5x   Sets panbrello waveform to x
  654.  
  655.                   Values for x: 0 = sine wave
  656.                                 1 = square wave
  657.                                 2 = Ramp down
  658.                                 3 = Random!
  659.  
  660.           S70   Past note cut
  661.           S71   Past note off
  662.           S72   Past note fade
  663.  
  664.                   With the loss of 1-1 correspondence of editing channels
  665.                   to internal playing channels, these commands provide
  666.                   control over notes that have already been played by a
  667.                   channel.
  668.  
  669.                    Example:
  670.                         Consider the following situation, where instrument
  671.                         1, notes C-4 & D-4 map to a looped sample, and the
  672.                         New Note Action is set to continue.
  673.  
  674.                         C-4 01 64 .∙∙
  675.                         D-4 01 64 .∙∙
  676.                         E-4 01 64 .∙∙ <--- Use S70 here!
  677.  
  678.                   Ordinarily, control would be lost over C-4 and D-4, but
  679.                   using command S70 at the point indicated, the notes C-4
  680.                   and D-4 would be stopped immediately when the note E-4
  681.                   plays.
  682.  
  683.                   Similarly, note off commands and Fadeout commands can
  684.                   also be issued.
  685.  
  686.                   Note: You *MUST* be in instrument mode for these
  687.                         to have any significance.
  688.  
  689.           S73   Set NNA to note cut
  690.           S74   Set NNA to continue
  691.           S75   Set NNA to note off
  692.           S76   Set NNA to note fade
  693.  
  694.                   These options allow you to override the default NNA for a
  695.                   particular NOTE (ie. it does not affect the instrument)
  696.  
  697.                   Note: You *MUST* be in instrument mode for this to work.
  698.  
  699.           S77   Turn Volume envelope off.
  700.  
  701.                   Stops the processing of the volume envelope. This is for the
  702.                   times that you don't want to use the volume envelope that
  703.                   you've created.
  704.  
  705.           S78   Turn volume envelope on.
  706.  
  707.                   Sometimes, you'll decide that it's better not to use the
  708.                   volume envelope for most cases, but you may just want to
  709.                   use it a few times - this is the command that lets you
  710.                   do that!
  711.  
  712.                   Note: You *MUST* be in instrument mode for this to work.
  713.  
  714.           S8x   Set panning position
  715.  
  716.                   Set panning position, S80 is leftmost, S8F is rightmost.
  717.                   This is an obsolete command, provided only for ST3
  718.                   compatibility. Use command Xxx instead.
  719.  
  720.           S91   Set surround sound!
  721.  
  722.                   For those of you who are lucky enough to have a dolby
  723.                   surround sound decoder (myself not included - so if ya
  724.                   wanna send me something.....), this *should* cause the
  725.                   sound to come from the surround speaker. This is a
  726.                   pseudo-panning command, and issuing either Xxx or S8x
  727.                   will cause the surround sound to be reset.
  728.  
  729.                   If you try and play Surround Sound on a GUS, it will be
  730.                   played as a central pan. :(
  731.  
  732.           SB0   Set loopback point
  733.           SBx   Loop x times.
  734.  
  735.                   This pattern space-saving feature will cause the pattern
  736.                   to be looped x times back to the last SB0. Note that you
  737.                   can only loop within the pattern! Also, each channel has
  738.                   it's own loop-back information... so you HAVE to have the
  739.                   SB0 and SBx in the same channel for it to operate.
  740.  
  741.           SCx   Note cut after x frames
  742.  
  743.                   This will cause a note to be immediately stopped after x
  744.                   frames. It is similar to issuing a "^^^" in the note column,
  745.                   just that it has a finer control
  746.  
  747.           SDx   Note delay for x frames
  748.  
  749.                   Actually, this command works like "interpretation" delay
  750.                   for x frames. Any data - note, sample/instrument or volume
  751.                   in the channel will not be interpreted until x frames into
  752.                   the row.
  753.  
  754.           SEx   Pattern delay for x rows
  755.  
  756.                   This will cause a "pause" on the row for effectively x rows
  757.                   longer.
  758.  
  759.                   Note that if TWO pattern delay commands are issued, then
  760.                   the only the command in the higher channel will be considered.
  761.  
  762.           Txx   Set tempo to xx
  763.  
  764.                  Valid ranges are between 21h and 0FFh. The higher the
  765.                  value, the faster the playback. This essentially
  766.                  determines the time length of each frame, by the following
  767.                  formula:
  768.  
  769.                         Frames per minute = 24*Tempo
  770.  
  771.           Uxy   Fine vibrato with speed x, depth y
  772.  
  773.                  Same as vibrato, but 4 times finer.
  774.  
  775.           Vxx   Set Global volume
  776.  
  777.                  Valid ranges are between 0 and 80h. All notes playing are
  778.                  affected by this change.
  779.                  Values greater than 80h are ignored at playtime.
  780.  
  781.           W0x, Wx0, WFx, WxF  Slide global volume
  782.  
  783.                  Similar to the Dxx commands, but operate on the global
  784.                  volume. Useful when fading out songs.
  785.  
  786.           Xxx   Set panning position
  787.  
  788.                  Sets the panning position anywhere from left to right (X00
  789.                  is left, XFF is right).
  790.  
  791.           Yxy   Panbrello with speed x, depth y.
  792.  
  793.                  What the hell is panbrello? Well, it's a word that I coined
  794.                  late one night after a friend suggested that there should
  795.                  be a random pan position command. I decided.. why not - I'll
  796.                  make the vibrato/tremelo equivalent of panning! And so you
  797.                  have here, 'panbrello.' What this does is instead of
  798.                  oscillating frequency (pitch) or volume, it oscillates the
  799.                  panning position about the 'set' panning position for a
  800.                  channel. This is for you techno freaks out there who want
  801.                  another function to stuff around with! :)
  802.  
  803.                  The random pan position can be achieved by setting the
  804.                  waveform to 3 (ie. a S53 command). In this case *ONLY*, the
  805.                  speed actually is interpreted as a delay in frames before
  806.                  another random value is found. so S14 will be a very QUICK
  807.                  panbrello, and S44 will be a slower panbrello. With any
  808.                  other waveform, the higher the value for x, the faster the
  809.                  panbrello, like vibrato and tremelo. If you don't know what
  810.                  I'm talking about, check out the stereo-indicators on the
  811.                  info page (don't forget that you have to be in stereo mode!)
  812.  
  813.          5) Editing Functions
  814.  
  815.              For a complete list of available functions, check the help screen
  816.              for the pattern editor (on F1)
  817.  
  818.            Ctrl-Backspace       IMPORTANT! This one will save you a lot of
  819.                                 frustration - it's a 10-stage listed Undo
  820.                                 function!
  821.  
  822.            Grey Plus    Advance to next pattern
  823.            Grey Minus   Goto previous pattern
  824.            Shift-GPlus  Advance 4 patterns
  825.            Shift-GMinus Go back 4 patterns
  826.            Ctrl-GPlus   Go to the next order's pattern
  827.            Ctrl-GMinus  Go to the previous order's pattern
  828.  
  829.            Alt-Delete   Remove an entire row from the pattern
  830.            Alt-Insert   Insert an entire row into the pattern
  831.  
  832.            '.'          erase data.
  833.            Space        will enter the previous data for that column.
  834.            '4'          play the note under the cursor.
  835.            '8'          play entire row.
  836.            Ctrl-F6      play pattern from the current row.
  837.            Ctrl-F7      Set playback mark - this will be the position that
  838.                         subsequent playback will occur when you press F7.
  839.                         Remove the mark by pressing Ctrl-F7 on the row
  840.                         that is already 'marked.'
  841.  
  842.            Alt-0 -> 9   Quick select "skip value"
  843.                         The skip value is the number of rows that the
  844.                         editor advances by when a note is entered - this
  845.                         makes it easy to enter notes on alternate rows
  846.                         (press alt-2 first!)
  847.  
  848.                         If the skip value is 0, then the editor will
  849.                         advance to the next channel (making it easier to
  850.                         enter chords)
  851.  
  852.                         If the skip value is 0, AND template mode is on,
  853.                         then entering a note will cause the editor to
  854.                         advance by the length of the template block.
  855.  
  856.            Alt-Enter     Store current pattern in memory
  857.            Alt-Backspace Restore current pattern
  858.  
  859.          6) Block Functions
  860.            Alt-B        Mark top left of block
  861.            Alt-E        Mark bottom right of block
  862.            Alt-L        Mark entire column (channel)
  863.            Alt-L*2      Mark entire pattern
  864.            Alt-D        Mark the minor row hilight number of rows. Pressing
  865.                         this repeatedly doubles the length of the block.
  866.                         eg. Pressing Alt-D once may mark out 16 rows,
  867.                         pressing it twice will mark 16 rows.
  868.  
  869.            Alt-A        Transpose all the notes in the block a semitone
  870.                         down If no block is marked, then the current note
  871.                         will be transposed a semitone down.
  872.            Alt-C        Copy marked block into the clipboard
  873.            Alt-F        Double the length of the selected block
  874.            Alt-G        Halve the length of the selected block
  875.            Alt-I        Toggle Template mode... read part 8
  876.            Alt-J        Volume Amplifier... modify the volume controls
  877.                         between 0 and 200%
  878.            Alt-K        Slide volume... if you want to manually control a
  879.                         fadeout, or fadein, then set the volumes at the
  880.                         extreme ends of the blocks, then press Alt-K ONCE!
  881.            Alt-K*2      Remove all volume controls in the selected block
  882.            Alt-M        Mix clipboard with pattern data.. try it out, and
  883.                         you'll understand (it's like an advanced paste
  884.                         command - it'll only copy the data IF there is nothing
  885.                         on the row it is copying to.)
  886.            Alt-N        Toggle Multichannel mode.. Multichannel mode allows
  887.                         you to select for each channel whether it should be
  888.                         part of the multichannel list. If you enter a note
  889.                         while on a channel which is in the multichannel
  890.                         list, then the editor will advance to the next
  891.                         channel.
  892.            Alt-N*2      Multichannel menu.
  893.            Alt-O        Overwrite pattern data with clipboard. Like paste,
  894.                         but without the "insert" part :)
  895.            Alt-P        Paste clipboard into pattern at current position
  896.            Alt-Q        Transpose all the notes in the block a semitone up
  897.                         If no block is marked, then the current note will
  898.                         be transposed a semitone up.
  899.            Alt-S        Set all the instrument (sample) values to the
  900.                         current instrument (sample) within a block
  901.            Alt-U        Unmark block / release clipboard from memory.
  902.            Alt-V        Set all the volume controls to the current
  903.            Alt-W        Remove all volumes not associated with a note/inst
  904.            Alt-X        Slide command value. Similar to Alt-K (slide
  905.                         volume). This command can be convenient to slide
  906.                         the panning from one position to another, or to
  907.                         slide global volume effects, channel volume, sample
  908.                         offsets... whatever...
  909.  
  910.            Alt-X*2      Erase all effect data in the selected block!
  911.            Alt-Y        Swap selected block with a samesized/shaped block
  912.                         starting at the current position. Swap blocks
  913.                         CANNOT overlap.
  914.            Alt-Z        Cut current block.
  915.                         Warning: If you don't have enough memory, the
  916.                         current block WILL be erased, although there is no
  917.                         record of it in the clipboard....
  918.  
  919.          7) Track View functions
  920.  
  921.             Sometimes you just want to know what you've put in those tracks
  922.             that are currently off the screen... these functions allow you
  923.             to do just that!
  924.  
  925.             Alt-T       Cycle Track view mode.
  926.             Alt-R       Remove all track views
  927.             Alt-H       Remove track view divisions (allows you to view 36
  928.                         channels!)
  929.             Ctrl-0      Remove current track from track view
  930.             Ctrl-1->5   Quick select a track view for current channel.
  931.  
  932.          8) Templates
  933.  
  934.             Templates are an invention to make entering repeated
  935.             'sequences' easier. Often, you may want to enter a note with
  936.             the same effects following each note. eg.
  937.  
  938.                 C-4 01 00 D10   }
  939.                 ∙∙∙ ∙∙ ∙∙ D00   }
  940.                 ∙∙∙ ∙∙ ∙∙ D00   } Enter this....
  941.                 ∙∙∙ ∙∙ ∙∙ D00   }
  942.                 ∙∙∙ ∙∙ ∙∙ D02   }
  943.                 ∙∙∙ ∙∙ ∙∙ D00   }
  944.                 D-4 01 00 D10     }
  945.                 ∙∙∙ ∙∙ ∙∙ D00     }
  946.                 ∙∙∙ ∙∙ ∙∙ D00     }
  947.                 ∙∙∙ ∙∙ ∙∙ D00     }
  948.                 ∙∙∙ ∙∙ ∙∙ D02     }
  949.                 ∙∙∙ ∙∙ ∙∙ D00     } Use the templates to enter this!
  950.                 E-4 01 00 D10     }
  951.                 ∙∙∙ ∙∙ ∙∙ D00     }
  952.                 ∙∙∙ ∙∙ ∙∙ D00     }
  953.                 ∙∙∙ ∙∙ ∙∙ D00     }
  954.                 ∙∙∙ ∙∙ ∙∙ D02     }
  955.                 ∙∙∙ ∙∙ ∙∙ D00     }
  956.                 etc..
  957.  
  958.             With templates, this can be done by entering the first 'block',
  959.             then marking it and copying it into the clipboard (using
  960.             Alt-C). Toggle the template mode by pressing Alt-I to Template:
  961.             Overwrite, then go to the start of the second block, and press
  962.             the key for D-4 (normally X). The whole block will be filled
  963.             in! This is easiest to understand if you print this section out
  964.             and try it in the editor.
  965.  
  966.             The templates can also include other notes, which will be
  967.             translated accordingly, and can span several channels.
  968.  
  969.   2.3  Order List, Channel panning & volume. (F11)
  970.           After creating patterns, the tracker has to know what order to
  971.           play them back in. The order list is the means by which this is
  972.           done. Another wording of the Order List which may make it simper
  973.           to understand is the Pattern sequence list.
  974.           Simply enter the patterns into the list in the order they
  975.           should be played, and voila! - you have a new piece of music.
  976.           (as long as you have something in the patterns, of course!). The
  977.           "---" marks the end of a song, and "+++" is simply a marker which
  978.           is skipped (for ST3 support). Pressing N on a row will enter the
  979.           previous order's pattern+1. eg. Entering 000, then pressing 'n' 5
  980.           times will enter 000 (which you typed), then 1, 2, 3, 4 and 5.
  981.  
  982.           Initial channel panning and volume is the panning and volume that
  983.           each channel is set to whenever the song is reset. It will not
  984.           affect anything currently playing. On the panning list, you can
  985.           also mute channels by pressing spacebar. Pressing S will select
  986.           the initial 'panning' as surround sound. The initial channel
  987.           volumes can be accessed by pressing F11 once you are already on
  988.           the Order list and channel panning screen.
  989.  
  990.   2.4  Samples
  991.          Samples are the raw sound information. The can be of anything
  992.          you like - normally a musical instrument of some sort, but you
  993.          could have voice samples or sound effects too!
  994.  
  995.          Impulse Tracker accepts 8-bit or 16-bit samples. It can import
  996.          Scream Tracker 3 samples without problems, and has it's own format
  997.          (just to store it's global volume + vibrato information). It assumes
  998.          that anything that is NOT in ST3 or IT format is a simple plain 8-bit
  999.          raw data file.
  1000.  
  1001.          Samples have the following information: A name, a default volume,
  1002.          a global volume, vibrato information, loop information and a
  1003.          frequency
  1004.  
  1005.          The default volume of a sample is the volume at which a sample is
  1006.          played, IF no volume is specifier.
  1007.  
  1008.          The global volume is the modifier by which ALL occurrences of the
  1009.          current sample are scaled by.
  1010.  
  1011.          Vibrato information - the vibrato speed is the speed at which the
  1012.          vibrato oscillates. Although it is possible to enter values 0->64,
  1013.          the best effects are obtained by entering values around 24-48. The
  1014.          vibrato depth determines the maximum deviation from the mean
  1015.          frequency. The vibrato rate determines how quickly the vibrato is
  1016.          applied. Higher values cause the vibrato to be applied more
  1017.          quickly, a low value like 1 can take many seconds before the
  1018.          vibrato is noticed.
  1019.  
  1020.          Loop information. Samples can be looped to provide a continuous
  1021.          sound. The loop beginning and the loop end must be specified, and
  1022.          the loop method (either forwards or ping pong) must be set.
  1023.          (Toggle by pressing spacebar). The loop boundaries can also be
  1024.          modified using '+' or '-' (even while the sample is playing!)
  1025.  
  1026.          Sustain loops are the loops used as long as no note off command is
  1027.          encountered. In the sample tester, releasing a key provides a note
  1028.          off command to the player. Once a note off command is issued, the
  1029.          normal loops apply. The idea behind sustain loops originated after
  1030.          listening to some synthesizers which provided 'after note' sounds
  1031.          - like fingers lifting off guitar strings. With sustain loops, you
  1032.          can have a guitar sound in the sustain loop, with the end of the
  1033.          sample containing the 'finger off' sound. This way, you should be
  1034.          able to achieve a new degree of realism. The best way to do this
  1035.          is to have a reasonably small sustain loop, and a section after it
  1036.          containing the note-off sound, possibly looped. (The sustain loop
  1037.          should ideally be less than 1/20th of a second, so that you have
  1038.          reasonably good control over the timing of the note-off, but this
  1039.          is not always possible)
  1040.  
  1041.            Example: If you have a sample with no sample loop, but a sustain
  1042.                     loop around bytes 19000-20000, then while no noteoff
  1043.                     command is issued, then the sample will loop between
  1044.                     19000 and 20000. Once a noteoff command is received,
  1045.                     then the sample will be played until it's end and then
  1046.                     will stop.
  1047.  
  1048.                     If you have a sample of length 64000 with a ping pong
  1049.                     loop around the whole sample (0->64000) and a sustain
  1050.                     ping pong loop around bytes 20000-30000, then the
  1051.                     sample will loop backwards and forwards between 20000
  1052.                     and 30000 until a noteoff command is received, after
  1053.                     which it will loop between 0 and 64000 (backwards and
  1054.                     forwards).
  1055.  
  1056.            It is recommended that you do NOT have a ping pong sustain loop
  1057.            going to a forwards loop or no loop and that if you DO have a
  1058.            sustain loop AND a normal loop, that the sustain loop lies
  1059.            within the normal loop (for ping pong), or that the normal loop
  1060.            end is after the sustain loop end (for forward's loop) (think
  1061.            about what you're asking it to do in these cases carefully...
  1062.            it should make sense - the tracker can still handle the cases
  1063.            when this is not adhered to, but the resulting effect can vary
  1064.            greatly!)
  1065.  
  1066.          The frequency of a sample determines its pitch. The higher the
  1067.          frequency, the higher the pitch. The frequency can be doubled or
  1068.          halved by pressing Alt-Grey Plus/Minus to cause an octave
  1069.          rise/decrease. For the technically inclined out there, the
  1070.          frequency is the number of bytes per second that have to be played
  1071.          for a C-5. You can increase the frequency by one semitone by
  1072.          pressing Ctrl-Grey Plus or decrease it by a semitone with
  1073.          Ctrl-Grey Minus.
  1074.  
  1075.          To load in a sample, go to the entry in which you want to load it
  1076.          then press enter. The sample library should appear. You can test
  1077.          out any sample just by "playing" notes on the keyboard while you
  1078.          are on top of the sample. Load a sample into the sample list by
  1079.          pressing enter. Of course, if you don't have any samples, no
  1080.          samples will appear :)
  1081.  
  1082.          Where can I get samples from??
  1083.  
  1084.          You can 'steal' samples from modules by going to the sample in the
  1085.          sample list, then pressing Alt-O. Scream Tracker 3 samples can be
  1086.          saved by pressing Alt-T (vibrato, global volume + susloop
  1087.          information lost) or raw samples can be saved by pressing Alt-W
  1088.          (all variables lost!)
  1089.  
  1090.          (Be careful where you 'steal' samples from!! Some people don't
  1091.           welcome it at all!)
  1092.  
  1093.          There are also many great sample 'packs' available... try a local
  1094.          music BBS, or the bigger FTP sites.
  1095.  
  1096.          Finally, you can make your OWN samples! With a sampler (eg.
  1097.          Digiplay 3.0) or with some other tracker (eg. Fast Tracker 2), you
  1098.          are able to record information through the microphone socket of
  1099.          the computer!
  1100.  
  1101.          If you are working to a size limit, check out the functions Alt-E
  1102.          and Alt-F. These functions allow you to resize the sample to whatever
  1103.          size you would like! (Note that there is a reduction in quality
  1104.          associated with a reduction in size). Alt-E will resize the samples
  1105.          WITH interpolation, Alt-F will resize the samples WITHOUT
  1106.          interpolation. These were very convenient when I was making a 16k
  1107.          module for the Oz'96 competition (never entered) :)
  1108.  
  1109.          Note: The length of a sample is *NOT* necessarily the number of bytes
  1110.          it occupies! The length quoted is the quantity of SAMPLE INFORMATION.
  1111.          If you have an 8 bit sample, then the size in bytes is the same as
  1112.          the length. If you have a 16-bit sample, then the size in bytes
  1113.          is DOUBLE the length.
  1114.  
  1115.   2.5  Instruments
  1116.          For those who have never used a tracker before, I strongly suggest
  1117.          that you skip this section for now - learn how to 'use' samples
  1118.          first. After that, you'll should be able to understand and hopefully
  1119.          fully appreciate the power that instruments can provide.
  1120.  
  1121.          To enable instruments, go to the song variables (F12), and press
  1122.          on the "Instruments" button after then "Control" prompt.
  1123.  
  1124.          Instruments are collections of samples (or just a single sample).
  1125.          The translation of samples is controlled by the column in the
  1126.          centre of the screen which shows what note/sample pair a single
  1127.          instrument note will be translated to. Example: If you're on
  1128.          instrument 1, and the note translation table appears as such:
  1129.  
  1130.                 C-5│C-5 01
  1131.                 C#5│C-5 02
  1132.                 D-5│D-4 03
  1133.                 D#5│D#4 03
  1134.  
  1135.          Then entering "C-5 01" into a pattern will cause sample 1 to be
  1136.          played at pitch C-5, "C#5 01", wil cause sample 2, to be played a
  1137.          pitch C-5, "D-5 01" will cause Sample 3 to play at D-4, "D#5 01"
  1138.          will cause Sample 3 pitch D#4 to play... get the idea?
  1139.  
  1140.          Out of all the functions provided for the Samples and Instruments,
  1141.          perhaps the only one that requires explanation is the "Update
  1142.          Pattern Data" function. This function was written for people who
  1143.          have already written music in MOD/S3M/MTM formats, and want to
  1144.          combine their percussion parts into a single instrument. The way
  1145.          to do this is to set up the instrument->note/sample table, and
  1146.          then use the "Update Pattern Data" function. What this does is
  1147.          search through all the patterns for all occurrences of the
  1148.          note/sample pairs that appear in the instrument->note/sample
  1149.          table, and replace it with the appropriate note/INSTRUMENT pair.
  1150.          Sounds quite complicated... sorry :)
  1151.  
  1152.                 Example:
  1153.                   If you originally have the following setup
  1154.  
  1155.                 Sample 1 = Bass Drum
  1156.                 Sample 2 = Snare Drum
  1157.                 Sample 3 = Closed Hihat
  1158.                 Sample 4 = Open Hihat
  1159.  
  1160.                   And the following column within any pattern:
  1161.  
  1162.                         C-5 01 ∙∙ .∙∙
  1163.                         C-5 03 ∙∙ .∙∙
  1164.                         C-5 03 ∙∙ .∙∙
  1165.                         C-5 03 ∙∙ .∙∙
  1166.                         C-5 02 ∙∙ .∙∙
  1167.                         C-5 04 ∙∙ .∙∙
  1168.                         C-5 01 ∙∙ .∙∙
  1169.                         C-5 04 ∙∙ .∙∙
  1170.                         C-5 01 ∙∙ .∙∙
  1171.  
  1172.                   You can combine these four samples into one instrument by
  1173.                   creating the instrument->note/sample table with the
  1174.                   following entries: (say for instrument 10)
  1175.  
  1176.                         C-5│C-5 01
  1177.                         C#5│C-5 ∙∙        <--- just an empty slot...
  1178.                         D-5│C-5 02
  1179.                         D#5│C-5 ∙∙
  1180.                         E-5│C-5 03
  1181.                         F-5│C-5 04
  1182.  
  1183.                   And using the update pattern data command will produce the
  1184.                   following
  1185.  
  1186.                         C-5 10 ∙∙ .∙∙
  1187.                         E-5 10 ∙∙ .∙∙
  1188.                         E-5 10 ∙∙ .∙∙
  1189.                         E-5 10 ∙∙ .∙∙
  1190.                         D-5 10 ∙∙ .∙∙
  1191.                         F-5 10 ∙∙ .∙∙
  1192.                         C-5 10 ∙∙ .∙∙
  1193.                         F-5 10 ∙∙ .∙∙
  1194.                         C-5 10 ∙∙ .∙∙
  1195.  
  1196.          Why would you want to combine several samples into one instrument?
  1197.          Well, one very good reason is that it makes it easier to enter
  1198.          drum parts - you no longer have to change the 'instrument' if you
  1199.          want another sample. And also, combining them into one instrument
  1200.          makes them easier to manage - you can specify a volume envelope,
  1201.          NNA or FadeOut which will apply for ALL of the samples in the
  1202.          list.
  1203.  
  1204.          Another reason is if you want a very high quality sounding
  1205.          'instrument.' If you wanted to go overboard, you could sample
  1206.          every single note on a piano separately, and set up the note
  1207.          translation table to point to each sample accordingly - you'd
  1208.          get a very, very nice sound - if you don't run out of memory
  1209.          first. Or patience :)
  1210.  
  1211.          When you save an instrument to disk, all the related samples are
  1212.          stored with it. This means that you can setup a 'drum kit' instrument,
  1213.          and to load it into another song, you only need to select that
  1214.          instrument and all the samples will be loaded for you.
  1215.  
  1216.          The Fadeout value for each instrument determines how quickly the
  1217.          volume of the instrument decays under any of the following
  1218.          conditions:
  1219.            1) NNA "FadeOut" is selected, and another note is played.
  1220.            2) The end of a volume envelope is reached.
  1221.            3) A note off command is encountered, without a volume envelope.
  1222.            4) A note off command is encountered, and the 'normal' volume
  1223.               envelope loop is on.
  1224.  
  1225.          The larger the fadeout value, the quicker the sound decays.
  1226.  
  1227.          Each instrument also has an associated volume envelope! The volume
  1228.          envelope is editing by selecting the node (left/right arrows) then
  1229.          picking it up (with enter), moving it around (using arrows, or
  1230.          Alt-Arrows for quicker control), then pressing enter again to "put
  1231.          down the node". Nodes can be inserted or deleted (with the
  1232.          keys insert and delete!) The volume envelope will only be used if
  1233.          the volume envelope flag is set to "on" (in the box in the top
  1234.          right hand corner).. Remember that you have to be in instrument
  1235.          mode for this all to work...
  1236.  
  1237.          There are 3 pieces of information in the Volume Envelope graph -
  1238.          the node number (hopefully obvious), the time of the node (the
  1239.          number of 'ticks' or 'frames' that elapse before the node point)
  1240.          and the volume of a node (also hopefully obvious). So the x-axis
  1241.          is time, and the y-axis is volume - simple, really!
  1242.  
  1243.          You can also specify volume envelope loops and sustain loops.
  1244.          These operate in the same manner as the sample loops, but the
  1245.          numbers refer to node numbers.
  1246.  
  1247.          The powerful feature of this tracker, though, is not the volume
  1248.          envelopes by themselves - it's the New Note Actions! What these
  1249.          options do is allow you to select what should happen to an
  1250.          instrument when another note is played in the same column. If NNA
  1251.          "Cut" is selected, then the previous note will immediately be
  1252.          stopped (like in all other trackers). If NNA "Continue" is
  1253.          selected, then the note will continue playing! This is especially
  1254.          useful for Drum Parts, where there may be a long-ish snare sample
  1255.          - you can go on ahead and put a bass drum in the very next row
  1256.          after it - the snare drum will still complete playing! NNA "Note
  1257.          Off" issues a note off command to a note when a new note is played
  1258.          in the channel. This is particularly useful in combination with
  1259.          volume envelopes and volume envelope sustain loops. NNA "Note
  1260.          Fade" causes the current note to fade out with the fadeout value
  1261.          when a new note is played.
  1262.  
  1263.         WARNING!!
  1264.          New Note Actions are EXTREMELY powerful, but they CAN cause
  1265.          problems if you are not careful. Selecting NNA Fade with a fade
  1266.          value of 0, or note continue with a looped sample (no volume
  1267.          envelope) or anything which can cause a quick build up of
  1268.          allocated channels could easily hang a slow computer (or even a
  1269.          quick one, for that matter!) I tried to put checks against this,
  1270.          but they always triggered too late - "past the point of no return"
  1271.          where the CPU becomes so bogged down with processing the
  1272.          information, that it can't do or try to do anything else. (The
  1273.          tracker has *MANY* calculations to do - the most time consuming
  1274.          are the mixing routines, which require the processor to process as
  1275.          many bytes as the mixing speed per second for EACH note ie. a
  1276.          mixing speed of 44kHz means that for each note playing, 44000
  1277.          calculations have to be made EVERY second... so with 64 channels
  1278.          'active' at the maximum mixing rate for a SB16, almost 3 MILLION
  1279.          calculations have to be done EVERY second to produce the sound (in
  1280.          mono)!!! (My 486 can cope with this, but my 386 just dies!)
  1281.  
  1282.         Duplicate Note Check On/Off. (DNC)
  1283.          When the duplicate note check is ON, then repetitions of the same
  1284.          instrument¬e pair in a particular channel will cause the
  1285.          previous occurence of the instrument/note pair to be cut.
  1286.  
  1287.           Example: If the DNC is ON, then the asterixed notes will cut out the
  1288.                    tilda notes
  1289.         ┌───────────────┬───────────────────┬───────────────────────────────┐
  1290.         │  C-4 01 ~     │     C-4 02 ~      │   C-4 03 }                    │
  1291.         │  D-4 01       │     C-4 02 *   ~  │   D-4 03 } Nothing get's cut. │
  1292.         │  C-4 01 *     │     C-4 02     *  │   C-4 02 }                    │
  1293.         └───────────────┴───────────────────┴───────────────────────────────┘
  1294.  
  1295.         I sincerely hope that these options do not cause the death of brilliant
  1296.         4 channel music - that would be a great shame! There is truly an art in
  1297.         making a decent sound in as few channels as possible! (If you're new to
  1298.         this sorta thing, then it'll grow upon you...)
  1299.  
  1300.         For interest's sake...
  1301.          Channels are turned off internally under any of the following
  1302.          conditions:
  1303.           1) The end of a sample is reached (quite obvious)
  1304.           2) When the end of a volume envelope is reached, and the final
  1305.              envelope volume is 0
  1306.           3) When the fadeout value for a channel causes it to become silent.
  1307.           4) When a duplicate note is played when DNC is ON for the instrument.
  1308.           5) When a notecut is issued (obvious)
  1309.           6) When a channel is moved to the background (using NNAs)
  1310.              AND the volume is 0.
  1311.  
  1312.   2.6  Song Variables
  1313.  
  1314.         Most of the options on this screen should be quite obvious, but they
  1315.         are explained here for clarity.
  1316.  
  1317.         Song Name - should be obvious. Shove whatever you like in here :)
  1318.  
  1319.         Inital tempo - The tempo that the piece starts with. The tempo
  1320.                        calculation is explained under the set tempo
  1321.                        command (Txx)
  1322.  
  1323.         Inital speed - The speed that the song starts with. The speed
  1324.                        calculation is explained under the set speed
  1325.                        command (Axx)
  1326.  
  1327.         Global volume - This scales all the volumes in the song. It may be
  1328.                         necessary to change this value if there is overload
  1329.                         occuring (in the form of crackles in the music) -
  1330.                         especially on the Gravis UltraSound, as it is a
  1331.                         non-mixing device, and not scaled by the mixing
  1332.                         volume.
  1333.  
  1334.         Mixing volume - This value affects mixing sound devices (ie.
  1335.                         all Sound Blaster cards + PC Speaker).
  1336.  
  1337.         Separation - The separation determines how far apart the left/right
  1338.                      panning sounds. It is suggested that for a stereo
  1339.                      system (where the speakers are relatively close together)
  1340.                      that the separation be around its maximum (ie. 128).
  1341.                      For a stereo system where the speakers are placed a
  1342.                      large distance apart, a value of 60 may suit better.
  1343.                      A suggested separation for headphones is around 40.
  1344.                      This value has no significance unless stereo playback
  1345.                      is selected.
  1346.  
  1347.         Vol0Opt - As of ITv1.04, this is redundant... and will be replace
  1348.                   with something more useful soon... hopefully...
  1349.  
  1350.         Control - This is the option that lets you use Instruments!
  1351.                   When Control Sample is selected, then all the instrument
  1352.                   information is ignored. The query to initialise
  1353.                   instruments, if accepted, will copy all the sample
  1354.                   names to the instruments (if the samples exist) and set
  1355.                   up the Note Translation Table for each instrument to point
  1356.                   to a sample.
  1357.  
  1358.         Playback - Mono: When you select mono playback, all stereo commands
  1359.                          are essentially ignored. If you are using a SBPro,
  1360.                          selecting Mono provides a higher quality output
  1361.                          than selecting Stereo and using a central pan.
  1362.  
  1363.                    Stereo: This is the option to go for!
  1364.                            Note that stereo mode requires more processing
  1365.                            power than mono (unless you have a GUS)
  1366.  
  1367.                            Also note that a bug with SB16 hardware interferes
  1368.                            with the floppy drive if you're SB16 is configured
  1369.                            to DMA 1 and set to stereo!
  1370.  
  1371.         Pitch Slides - Amiga: This is the mode to choose for compatibility
  1372.                               with S3Ms, MODs, MTMs... when you select
  1373.                               amiga pitch slides, you'll often have to
  1374.                               experiment to find the adequate slide value.
  1375.  
  1376.                      - Linear: With the linear slides, a certain slide value
  1377.                                will always cause the same music "interval"
  1378.                                change. An example of what this means is if
  1379.                                you slide up a note with speed 6 (ie. F06) at
  1380.                                speed 6, then the result will be that the
  1381.                                note is raised a tone. Everytime. So a C-4
  1382.                                will rise to a D-4, C-5 will rise to a D-5.
  1383.                                (It's not like this with amiga slides! A
  1384.                                C-4 *MAY* rise to a D-4, but if it does then
  1385.                                the C-5 will rise to a note around E-5!!)
  1386.  
  1387.                                The usefulness of linear slides is that if you
  1388.                                slide a pair of notes at the same speed, they
  1389.                                will maintain the same interval (pitch
  1390.                                difference) throughout.
  1391.  
  1392.         Directories - this shows the current song/sample/instrument
  1393.                       directories. If you want to save the current directories
  1394.                       as the default to have on bootup, then press enter
  1395.                       on the Save button. Note that this save function also
  1396.                       saves the palette, keyboard type, info page layout
  1397.                       and pattern editing preferences to IT.CFG
  1398.  
  1399.   2.7  Scream Tracker 3 Users
  1400.      This section is just for users of Scream Tracker 3 who would like to know
  1401.      the differences between ST3 and IT without working through the whole
  1402.      document. In a nutshell:
  1403.  
  1404.      1) Differences in use.
  1405.         a) The Order List, Panning and Variables used to be on F1. In IT,
  1406.            F1 has been reserved for the Help Screen, F11 for the order list
  1407.            and panning, F12 for the variables.
  1408.            If you REALLY do find this too inconvenient, use the command line
  1409.            switch -k to swap the interpretation of the keys F1 and F11...
  1410.            no text will be updated tho (and it does seem sorta weird)
  1411.         b) Samples now have associated Vibrato information and a global
  1412.            volume. The global volume affects all instances of the sample
  1413.            throughout the song. This is useful when you replace a sample,
  1414.            which is at a different volume from the original - you can just
  1415.            adjust the global volumes of the samples to suit.
  1416.         d) Block functions are no longer restricted to one column. This also
  1417.            means that when you copy entire patterns, you will have to go to
  1418.            the top left of the pattern. Also, you will have to set the number
  1419.            of rows in the destination pattern to the appropriate number if
  1420.            it is different from the source.
  1421.            This difference may take some getting used to - you may often
  1422.            find yourself doing several block functions in a single columns
  1423.            when you could actually have done it across the whole block!
  1424.         e) In the pattern editor, the following commands have changed:
  1425.             1) Alt-T : Track View has been upgraded. Alt-T will cycle
  1426.                        through all of the possible 5 viewmethods. You can
  1427.                        use Ctrl-1 to Ctrl-5 to quick select a view, or
  1428.                        Ctrl-0 to remove a view.
  1429.             2) Alt-X : Pressing Alt-X once will slide the effect data value
  1430.                        in a block (useful for controlling global volume,
  1431.                        panning or sample offsets in some cases). Pressing
  1432.                        Alt-X twice will cause all of the effect data to be
  1433.                        deleted as in Scream Tracker 3
  1434.             3) Alt-K : Pressing Alt-K once will slide the volumes. Pressing
  1435.                        Alt-K TWICE will remove all volume controls in the
  1436.                        block. (Works like Alt-X, but on the volume column)
  1437.             4) Alt-I : Cycle Template control.
  1438.             5) Alt-J : Volume amplifier. Select an amplification between
  1439.                        0 and 200%.
  1440.             6) Alt-H : Now toggles view divisions on/off. Makes it possible
  1441.                        to view/edit up to 36 channels in the pattern editor!!!
  1442.             7) Alt-Z : Originally the Zap command (if pressed twice)... now
  1443.                        it is effectively a "Block Cut" command. It will
  1444.                        copy the block into the clipboard, and then wipe the
  1445.                        block clean.
  1446.             8) Alt-V : Will set all the volumes in the block to the default.
  1447.             9) Alt-W : Will remove ALL volumes not attached to a
  1448.                        note/instrument Therefore, the old Alt-V command can
  1449.                        be simulated using Alt-V then Alt-W. The reason for
  1450.                        doing this was so that the Alt-K, Alt-W combination
  1451.                        would slide all the volumes with notes/instruments
  1452.                        associated.
  1453.  
  1454.         f) There is no chord edit feature in IT :(
  1455.         g) Patterns can be from 32 to 200 rows! (Under Pattern edit config)
  1456.         h) Pressing spacebar in the pattern editor will cause the previously
  1457.            entered note/instrument/volume/efffect/effectvalue to be entered.
  1458.            Quite convenient. Hopefully.
  1459.         i) In IT, Ctrl-F5 plays the song, Shift-F6 plays from the current
  1460.            order, Ctrl-F7 sets a playback mark, and F7 will play from it.
  1461.            F6 will play the current pattern. Of course, you can just use
  1462.            F5 to play the song if nothing else is playing. Ctrl-F6 in the
  1463.            pattern editor will play the current PATTERN from the current row.
  1464.         j) Alt-F10 now solos a channel instead of toggling all of the
  1465.            channels on/off. On the InfoPage, you can use 's' to solo
  1466.            channels, and 'q' to toggle channels. I felt that this was more
  1467.            usable than the alternative.
  1468.         k) The infopage itself has become upgraded... press PgUp/PgDn to
  1469.            cycle through view methods, "Insert" to add a window, "Delete"
  1470.            to remove the currently highlighted window, Tab to move between
  1471.            windows, Alt-Up/Down to move the base of the window up/down.
  1472.         l) To increase the sample frequency by an octave in the sample
  1473.            list, press Alt-Grey '+' or Alt-Grey '-' to decrease the
  1474.            frequency by an octave. To change it by semi-tones, use Ctrl-Grey
  1475.            '+' and Ctrl-Grey '-'
  1476.         m) The Sample library is accesible from all screens in the program
  1477.            by pressing Ctrl-F3. The Instrument library is accesible on
  1478.            Ctrl-F4.
  1479.         n) Each channel has an associated volume. Echoes can be created by
  1480.            just copying one channel onto another, then setting the "channel
  1481.            volume" (Command Mxx)
  1482.         o) When channels are muted, all commands are still interpreted, but
  1483.            the notes aren't played. What this means is that commands such
  1484.            as Axx, Bxx, Cxx, SBx, Vxx, Txx, Mxx, Nxx will be processed even
  1485.            if they are in a muted channel.
  1486.         p) Pressing Ctrl-Grey Plus and Ctrl-Grey Minus in the pattern
  1487.            editor will go to the next/previous pattern according to the
  1488.            order list!
  1489.         q) Samples have sustain loops + Ping Pong loops supported
  1490.         r) Note off command & Note cut command implemented... Note cut is
  1491.            exactly like ST3's ^^^ (and appears like it too!) Note off
  1492.            appears as "═══" and releases sustain points.
  1493.         s) You can enter panning values (between 0 and 64) in the volume
  1494.            column. Do this by pressing '`' to toggle between entry of
  1495.            panning/volume values.
  1496.         t) You can use samples >64k and 16 bit samples!!!
  1497.         u) When you use a skip value of 0, the cursor will move across to
  1498.            the next channel. This is a very convenient way to enter chords,
  1499.            especially when combined with the multi-channel selection (whack
  1500.            Alt-N twice)
  1501.  
  1502.      2) Differences in interpretation of notedata.
  1503.         a) Global volume changes will affect ALL of the notes playing. In
  1504.            ST3, global volume changes only affected new notes. The range
  1505.            for the global volume command is from 0 to 80h
  1506.         b) If you specify an instrument without a note, then in ST3, the
  1507.            volume is set to the default volume. In IT, the volume will be
  1508.            set to the default volume *IF* the instrument specified is the
  1509.            SAME as the currently playing instrument. Otherwise, the new
  1510.            sample will be played from it's beginning.
  1511.         c) Command X (Set panning, not REALLY implemented in ST3) now has
  1512.            range from 0 to 0FFh.
  1513.         d) Command C (Break to row) now works in HEX. This is so that you
  1514.            can jump to any row in the (next) pattern.
  1515.         e) New commands:
  1516.             1) M:   Set channel volume
  1517.             2) N:   Slide channel volume
  1518.             3) P:   Slide panning
  1519.             4) S7x: Instrument related controls
  1520.             5) S91: Surround sound on!
  1521.             6) W:   Global volume slide.
  1522.             7) X:   Set pan position.
  1523.             8) S5x: Set panbrello waveform and reset panbrello position
  1524.             9) Yxy: Panbrello
  1525.         f) If you use the portamento to command (Gxx) to a different sample
  1526.            in ST3, the sample offset is undetermined. In Impulse Tracker,
  1527.            the sample will be played from it's start.
  1528.         g) The commands Hxx and Uxx will cause a vibrato half the depth
  1529.            of ST3. This is accounted for when you load .S3Ms. Also, the
  1530.            vibrato command is updated EVERY frame instead of every non-row
  1531.            frame (note for programmers)
  1532.  
  1533.  
  1534.      3) The greatest difference is the implementation of instruments. Read
  1535.         section 2.5 for more information.
  1536.  
  1537.      4) Saving S3M modules.
  1538.  
  1539.         The following guidelines have to be followed to compose 100%
  1540.         compatible S3M modules.
  1541.  
  1542.           General Stuff
  1543.             1) *Pitch slide mode MUST be amiga.
  1544.             2) *All initial channel volumes MUST be 64
  1545.             3) *No instruments functions can be used. If you ARE in
  1546.                 instrument mode, however, Impulse Tracker will translate
  1547.                 the pattern data according to the Note Translation Tables.
  1548.             4) The song message is *NOT* saved in S3M format.
  1549.  
  1550.           Pattern stuff
  1551.             1) *The total number of patterns MUST NOT exceed 100.
  1552.             2) *The number of rows in each pattern MUST be 64
  1553.             3) *Data is only translated within the first 16 patterns.
  1554.             4) *All notes must lie within the range of C-1 to B-8
  1555.             5)  Several commands will not be interpreted by a standard
  1556.                 S3M player (viz. Mxx, Nxx, Pxx, S7x, S91, Wxx, Yxx).
  1557.             6) *Panning controls in the volume column are NOT stored.
  1558.  
  1559.           Sample stuff
  1560.             1) *No sustain or ping pong loops can be used
  1561.             2) *No sample vibrato can be used
  1562.             3) *The sample global volume must be 64.
  1563.  
  1564.             4) The Scream Tracker 3 module format supports 16 bit samples
  1565.                 and samples >64k although the actual program did NOT.
  1566.                 Note that *MOST* players probably ignore these fields (even
  1567.                 blessed Cubic Player!) and it is likely that the module
  1568.                 will NOT be played correctly by a standard S3M player if
  1569.                 it contains samples >64k and/or 16 bit samples.
  1570.  
  1571.         All conditions with an asterix preceding them are checked at save
  1572.         time.
  1573.  
  1574.         Note that both note off (═══) and note cut (^^^) will get translated
  1575.         to a note cut (^^^) in S3M format.
  1576.  
  1577.         Also, in Scream Tracker 3, empty patterns are not stored, whereas
  1578.         in Impulse Tracker, saved S3M files will store the 'information'
  1579.         for empty patterns. So file sizes *MAY* differ slightly from an
  1580.         original S3M.
  1581.  
  1582.  2.8  Gravis UltraSound users.
  1583.  
  1584.         For the Gravis UltraSound users, there are some limitations that are
  1585.         outlined here. The GUS is a great card - unfortunately, I think I've
  1586.         pushed the limits of what tracker's are supposed to be able to do.
  1587.  
  1588.         I've already mentioned a few things throughout the DOC about the
  1589.         Gravis UltraSound, but I'll reiterate them here with a few more points.
  1590.  
  1591.         1) The maximum number of notes that you CAN play with a GUS is 32.
  1592.            This was incorporated by effectively limiting the number of active
  1593.            channels to 32. So if you play a 64 channel song which is using
  1594.            control:Samples, then you will LOSE the last 32 channels. If you
  1595.            are playing a 64 channel song with control:Instruments, you shouldn't
  1596.            miss out on too much. This shouldn't really be a problem in 99.9%
  1597.            of the cases, as I don't know of any song which uses more than 32
  1598.            channels, anyway.
  1599.  
  1600.         2) The GUS playback quality is dependent on the maximum limit of active
  1601.            channels. The GUS can be initialised to play anywhere between
  1602.            14 and 32 channels. Values above 32 are reduced to 32, and values
  1603.            below 14 are increased to 14. The lower the number of channels, the
  1604.            higher the playback quality. (14 channels will give 44100 Hz, with
  1605.            16-bit interpolation - very, very nice quality!). Understand,
  1606.            though, the other consequences of limiting the number of channels
  1607.            (explained in section 1.3)
  1608.  
  1609.         3) The GUS routines occupy less memory than the mixing routines. You
  1610.            will have about 60k more of memory to play around with.
  1611.  
  1612.         4) The GUS memory allocation routines are very simple and not very
  1613.            versatile. When you are working through the sample library, samples
  1614.            are NOT always deallocated when you move on to the next sample! If
  1615.            you get the message "Out of GUS memory", then it may be necessary to
  1616.            press Ctrl-G (or select Reload Gravis from the samples menu) to
  1617.            reorganise the samples in memory. Sorry about the inconvenience.
  1618.  
  1619.         5) Changing the mixing volume does NOT affect the Gravis. It may be
  1620.            necessary to reduce the global volume to remove crackle, if the
  1621.            GUS is overloading.
  1622.  
  1623.         6) The surround sound option will cause the sample to be played with
  1624.            a central panning. This is because I don't know how to get the
  1625.            GUS to do surround sound without wasting a lot of GUS memory.
  1626.  
  1627.         7) The panning positions are reduced to a scale of 0->15 in the GUS,
  1628.            so fine alterations in the panning may go unnoticed.
  1629.  
  1630.         8) You WILL hear TRUE 16-bit samples on a GUS!! (This is something
  1631.            that doesn't happen on the mixed devices). But the GUS does have
  1632.            some limitations on the boundaries that 16-bit samples can be
  1633.            placed, so your GUS Memory free indicator may sometimes drop more
  1634.            than expected.
  1635.  
  1636.  3. Before you write to me. (Important notes)
  1637.  
  1638.     I would very much like to get feedback on this program, but I am already
  1639.     aware of several problems (?).
  1640.  
  1641.     1) If you're going to write because the program looks 'too' much like
  1642.        Scream Tracker 3, then don't :) I've used Scream Tracker. I loved
  1643.        using it - it was the best, easiest, most convenient program ever,
  1644.        so why not adopt it's design?????
  1645.  
  1646.     2) The program could easily crash if you try to load a corrupted
  1647.        module. If you've got some modules that you know are corrupted, try
  1648.        to resist the temptation of testing the stability of the program....
  1649.        it'll die :)
  1650.  
  1651.     3) There's a menu somewhere in there that lets you configure your
  1652.        keyboard type. Why haven't I documented it? Because it doesn't
  1653.        really do anything at the moment (well, it tries to, but I couldn't
  1654.        find a listing of the keyboard character maps for anything other
  1655.        than the standard (?) US type) So... this is something that I'll try
  1656.        to fix as soon as I get some info.
  1657.  
  1658.     4) Beware of New Note Actions (NNAs). Although they are a powerful
  1659.        feature, if you select a NNA other than note cut, you *COULD* get a
  1660.        buildup of internal channels very quickly (eg. if you have NNA
  1661.        continue with a looped sample, or NNA fade with the fade value set
  1662.        to 0). In this case, a huge number of internal channels will be
  1663.        allocated, until the limit specified in the commandline (L###) (the
  1664.        default number of internal channels is set to 64). If your computer
  1665.        can't handle the speed, it is quite likely that it could go into a
  1666.        coma...
  1667.  
  1668.     5) A couple of people have asked about ASCII characters > 128. I'm
  1669.        sorry - I can't let you have 'em :) The reason is because I've used
  1670.        a lot of the characters for 'graphics' - real time character generation.
  1671.  
  1672.     6) If you 'overload' your CPU... the subsequent playback can also
  1673.        become distorted!
  1674.  
  1675.     7) The help screens have only been defined for the following screens:
  1676.         a) Pattern Editor
  1677.         b) Sample List
  1678.         c) Instrument List
  1679.         d) Info Page
  1680.         e) Order list and panning
  1681.         f) Order list and channel volumes
  1682.         g) Message editor
  1683.  
  1684.        I didn't think it necessary to include help screens for the other
  1685.        screens, but if you feel strongly about including help on certain
  1686.        points/screens, then I suppose I could make the effort...
  1687.  
  1688.     8) Sometimes, other programs *can* muck up the DMA detection (for SB) -
  1689.        then you'll have to use the command line override switch. Don't worry
  1690.        if you don't know whether the DMA detection has worked correctly..
  1691.        you'll know when it hasn't!
  1692.  
  1693.     9) If you think that the volume envelope line drawing algorithm is
  1694.        buggy, let me explain: The volume envelope amplitude ranges between
  1695.        0 and 64. I had 56 pixels to play around with. So I had two options:
  1696.        Make the volume envelope look right, or make the volume envelope sound
  1697.        right. So I opted for the second option, where internally, all the
  1698.        envelope information is as smoothly constructed as possible, which
  1699.        causes the external appearance that it's jerky. If you don't understand
  1700.        this, then just forget the whole thing :)
  1701.  
  1702.     10) Please don't bug me to add AWE 32 support - I'd very much like to, but
  1703.         there are a couple of problems with the implementation that I haven't
  1704.         worked out. And also, I don't have an AWE 32 (and I've already spent
  1705.         hundreds in cash to produce this program, not to mention time, so I'm
  1706.         not going to buy one!)
  1707.  
  1708.     11) If you have a bug to report, please check through BUGS.DOC first to
  1709.         see if it's listed, and also check through this document - the problem
  1710.         may be in the understanding of how the program works!
  1711.  
  1712.     12) Any further GUS click removal is very difficult to achieve. ST3's
  1713.         GUS click removal requires double the number of channels on the GUS
  1714.         to be used and I can't allocate any more!
  1715.  
  1716.  
  1717. If anyone can help me with the following things, please write!
  1718.     1) Keyboard types.
  1719.  
  1720. You can contact me by writing to:
  1721.         Jeffrey Lim
  1722.         9 Wilgena Avenue
  1723.         Myrtle Bank
  1724.         South Australia  5064
  1725.  
  1726. EMail account:
  1727.   pulse@smug.student.adelaide.edu.au
  1728.  
  1729.   If you find any major problem with the tracker, please try to find the
  1730.   circumstances which cause it to trigger - if you can't, don't worry - write
  1731.   to me anyway. It's just that it's much easier if I know a likely cause of
  1732.   the error. (Don't worry if it seems that the cause is very, very remote -
  1733.   I had a problem in my GUS playback routines which originally caused my
  1734.   palette configuration screen to hang - now that's obscure!)
  1735.  
  1736.   Send money! I don't demand that you send me anything, (and I don't like
  1737.   spoiling a program by shoving in reminder messages), but if you *DO* use
  1738.   the program and think that it's worth contributing a small amount towards,
  1739.   then please do so... it would be GREATLY appreciated. Remember.... even a
  1740.   few dollars will be appreciated! It's very unlikely that I'll make a huge
  1741.   profit (I doubt I could get close to sufficient money from this program to
  1742.   make it even worth $1 for every hour I put in!). I won't be sending out any
  1743.   nice thankyou notes, or bound manuals... but I will include your names in
  1744.   the future versions of the tracker.
  1745.  
  1746.   I believe that software *SHOULD* be cheap - you've spent perhaps a few
  1747.   thousand getting your computer, so you wouldn't want to spend TOO much
  1748.   more on programs! If you think this program is worth $5, then send $5.
  1749.   If you think it's worth $10, then send $10. If you think it's worth
  1750.   $1,000,000,000... don't let me stop you :)
  1751.  
  1752.   It'd be nice if I were able to cover the cost of my GUS MAX and several
  1753.   programming books at least (which I bought to produce the tracker) :)
  1754.  
  1755.   So... get together with a couple of friends and send me $10... If you send
  1756.   me a significant amount, I'll put together a "special contributor's" list..
  1757.   (Oeeerrrrr :) ) (I'd appreciate it if you combine with some other people if
  1758.   you want to send a cheque, because cheque overheads in Australia are possibly
  1759.   high enough that I'll end up having to pay more to cash them than they are
  1760.   worth)
  1761.  
  1762.   Alternatively... I'm always looking for nice sample CDs....
  1763.  
  1764.  4. For the software programmers & hardware manufacturers
  1765.  
  1766.   4.1 Programmers
  1767.  
  1768.   The technical specs for the IT format can be found in the file, ITTECH.DOC,
  1769.   which should be in the archive in which you found this document.
  1770.  
  1771.   The .IT format is not the most elegant format - the XM format is definitely
  1772.   much nicer, but it was more convenient to program for :)
  1773.  
  1774.   If you decide to write a player, and need any help/clarification of the
  1775.   format, then don't hesitate to write to me!
  1776.  
  1777.   If you want to support .IT format files in your games/demos/whatever else,
  1778.   then pick up the IT Programmers Kit (I'll start work on it before too long.)
  1779.  
  1780.   The routines should run quite a bit quicker than what the tracker does -
  1781.   and it'll have options to play samples at certain times (convenient if you
  1782.   want a laser sound when you fire guns!).
  1783.  
  1784.   The routines will probably *NOT* be tailored for a general player - there
  1785.   will be no checking for valid sample numbers (ie. if there IS a sample there
  1786.   to play) and all note/instrument pairs will be assumed to point correctly
  1787.   to note/sample pairs.
  1788.  
  1789.   4.2 Manufacturers
  1790.  
  1791.   At the moment, the hardware support for the tracker has been limited to
  1792.   Sound Blaster, Sound Blaster Pro, Sound Blaster 16, Gravis UltraSound and
  1793.   PC Speaker. If you would like me to support another soundcard (which isn't
  1794.   compatible with SB/SBPro/SB16, or if it has it's own, special native mode),
  1795.   then send two sound cards and a copy of the Software Developers Kit. I
  1796.   will *try* my best to incorporate them into the program if you do this
  1797.   (but there's the limitation of design difficulties - which shouldn't cause
  1798.   any problems in 99% of the cases.)
  1799.  
  1800.  
  1801.  5. Closing Words
  1802.  
  1803.     I would like to thank the following people:
  1804.  
  1805.         Psi: For introducing me to tracking with the brilliant Scream Tracker 3
  1806.         Purple Motion: For being my music hero.... I still think
  1807.                        "When the Heaven's Fall" is *THE* best S3M ever written.
  1808.         Red Haze: For constantly bugging me to get the tracker done, and for
  1809.                   his effort in testing out the program and making suggestions.
  1810.                   (He's directly responsible for the inclusion of Ping Pong
  1811.                   loops - I originally couldn't be bothered :) )
  1812.         The WALKER: For his flow of ideas & beta testing and getting the PoP
  1813.                     DiskMag finished.... tomorrow. Or is that next week?
  1814.                     OK... so he has done it. Finally.... 6 months late. :)
  1815.         Perception: For his constant support over the many years he has run his
  1816.                     BBS.
  1817.         Psibelius: For being the nice friendly Epinicion founder that he is.
  1818.         Dominic: For his thoroughness in beta testing the program, and providing
  1819.                  suggestions. (He came up with more than double the number of
  1820.                  suggestions than almost anyone else... even though many of
  1821.                  them were not finally implemented)
  1822.         Chris Jarvis: For his effort in beta testing the tracker and producing
  1823.                       Firestorm (released with v1.00 of the tracker) and
  1824.                       Pale Dreams! (released with v1.01 of the tracker)
  1825.         Zilym Limms: For his technical help with the tracker and his love of
  1826.                      Fast Tracker 2. Hahaha. :)
  1827.                      Also for his information and source code for the PAS 16.
  1828.         Benjamin Bruheim: For his super list of contributions to the tracker.
  1829.         Manladas Zarich: For being such a cool reliable dude who can be
  1830.                          bothered to upload the program to ftp.cdrom.com
  1831.                          for me.
  1832.         ZaStaR: For his effort in putting together ITF - the font customiser!
  1833.         Emmanuel Giasson: For creating the utilities MMCMP/MMUNCMP/MMTSR -
  1834.                           the music module compressor!
  1835.  
  1836.         To the other beta testers:
  1837.             Eric Bonython               Phorte
  1838.             Alistair Watts              Julian Ellis
  1839.             Alex Bates                  David Rohrsheim
  1840.             Delta X                     GD (Grave Digger)
  1841.             Andy Chen                   ShawnM
  1842.             ZaStaR                      Emmanuel Giasson
  1843.             KXMode                      Clef
  1844.  
  1845.         And anybody there who uses this program!!!
  1846.  
  1847.         Big thanks and thumbs up to Advanced Gravis for releasing their
  1848.         Software Developer's Kit (SDK) free of charge! Thumbs down and big
  1849.         boo to Creative Labs for charging for their SDK....
  1850.  
  1851.         Now if I could only get hold of a Gravis UltraSound with 44kHz at
  1852.         256 voices... :) And surround sound options...
  1853.  
  1854.         Finally... I have a request.....
  1855.          If *YOU* write something with this program... share it with the
  1856.          rest of the world!!!
  1857.  
  1858.          If you have an iNet account, you can upload your songs to:
  1859.            ftp.cdrom.com/pub/demos/incoming/music/songs/it
  1860.  
  1861.          If you know of any other places where modules can be uploaded to,
  1862.          let me know and I'll include them in the above list.
  1863.  
  1864.  
  1865.  6. Legal stuff
  1866.  
  1867.     No matter what happens, no matter how bad, I'm not going to be held
  1868.     responsible.
  1869.  
  1870.     That's basically the same as any other lisense agreement, except you
  1871.     should be able to understand this one without an interpreter :)
  1872.  
  1873.     Oh... YOU MAY NOT CHARGE ANYTHING FOR THIS PROGRAM - DISTRIBUTORS WHO
  1874.     ARE INTERESTED IN THIS PROGRAM MUST WRITE TO ME FIRST AND HAVE MY
  1875.     APPROVAL! (yeah, even by snail mail if you don't have an EMail addy).
  1876.  
  1877.     If you use this program for commercial purposes (as a tool to create
  1878.     music), contact me first. You *WILL* be asked to donate something to
  1879.     my bank account, although the amount totally depends on what sort of
  1880.     project you are undertaking. Freeware, non-profit demos are not
  1881.     required to register, although it is encouraged.
  1882.